home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mh / mh-6.8 / papers / changes / mh-changes.ms < prev    next >
Encoding:
Text File  |  1992-12-14  |  33.0 KB  |  1,011 lines

  1. .\" @(#)$Id: mh-changes.ms,v 1.25 1992/12/15 00:25:33 jromine Exp $
  2. .\" Standard -ms macros
  3. .\" with the following changes
  4. .ds lq \\*Q
  5. .ds rq \\*U
  6. .\" remember to update date in text below
  7. .DA "December 14, 1992"
  8. .if n \{\
  9. .na
  10. .\}
  11. .nr PO 1i
  12. .po 1i
  13. .\" .EH ''Changes to MH 6.7'%'
  14. .\" .OH ''Changes to MH 6.7'%'
  15. .ds LH Changes to MH 6.8
  16. .ds CH
  17. .ds RH %
  18. .TL
  19. Changes to
  20. .br
  21. The RAND MH Message Handling System:
  22. .br
  23. UCI version MH 6.8
  24. .AU
  25. John L. Romine
  26. .AI
  27. Computing Support Group
  28. Department of Information and Computer Science
  29. University of California, Irvine
  30. Irvine, CA  92717\-3425
  31. .AB
  32. .PP
  33. This document describes the changes to the
  34. UCI version of the RAND MH system from MH 6.6
  35. to this release of MH 6.8.
  36. This document is meant to supplement,
  37. not supersede,
  38. the standard MH User's manual and MH Administrator's manual.
  39. .PP
  40. Comments concerning this documentation should be addressed to the
  41. mailbox \fBBug\-MH@ICS.UCI.EDU\fP, or \fBucbvax!ucivax!bug-mh\fP.
  42. .AE
  43. .SH
  44. ACKNOWLEDGEMENTS
  45. .LP
  46. The \fIMH\fP system described herein is
  47. based on the original RAND \fIMH\fP system.
  48. It has been extensively developed (perhaps too much so) by Marshall T. Rose
  49. and John L. Romine at the University of California, Irvine.
  50. Einar A. Stefferud, Jerry N. Sweet,
  51. and Terry P. Domae provided numerous suggestions
  52. to improve the UCI version of \fIMH\fP.
  53. .PP
  54. Of course,
  55. a large number of people have helped \fIMH\fP along.
  56. The list of \*(lq\fIMH\fP immortals\*(rq is too long to list here.
  57. For this release, numerous \fIMH\-Workers\fP sent in fixes and other
  58. changes.  A handful of courageous \fIMH\-Workers\fP volunteered
  59. to beta-test these changes; their help is particularly appreciated.
  60. .KS
  61. .SH
  62. DISCLAIMER
  63. .LP
  64. The Regents of the University of California wish to make it known that:
  65. .QP
  66. Although each program has been tested by its contributor,
  67. no warranty, express or implied,
  68. is made by the contributor or the University of California,
  69. as to the accuracy and functioning of the program
  70. and related program material,
  71. nor shall the fact of distribution constitute any such warranty,
  72. and no responsibility is assumed by the contributor
  73. or the University of California in connection herewith.
  74. .KE
  75. .KS
  76. .SH
  77. CONVENTIONS
  78. .LP
  79. In this document,
  80. certain formatting conventions are adhered to:
  81. .IP
  82. The names of
  83. \s-2UNIX\s+2
  84. commands, such as \fIcomp\fP
  85. are presented in \fIitalics\fP.
  86. .IP
  87. Arguments to programs, such as `msgs' and `\-nobell' are
  88. delimited by single-quotes.
  89. .IP
  90. Text that should be typed exactly as-is, such as 
  91. command lines (e.g., \*(lqfolder \-pack\*(rq),
  92. are delimited by double-quotes.
  93. .IP
  94. \s-2UNIX\s+2
  95. pathnames and envariables,
  96. such as \fB/usr/uci\fP and \fB$SIGNATURE\fP,
  97. are presented in \fBbold font\fP.
  98. .KE
  99. .ds LH Changes for MH 6.8
  100. .bp
  101. .SH
  102. CHANGES FOR MH 6.8
  103. .LP
  104. This is the current released version of \fIMH\fP
  105. as of December 14, 1992.  This release includes a number
  106. of bug fixes and internal changes to make the code more
  107. portable.
  108. Two new authentication methods are provided for the POP,
  109. and support for SVR4 shared libraries is complete.
  110. .PP
  111. The major user-visible change in this release is the incorporation
  112. of support for multi-media mail as specified by the
  113. Multi-purpose Internet Mail Extensions (\fBMIME\fP)
  114. RFC\ 1341.
  115. This allows you to include things like audio,
  116. graphics, and the like, in your mail messages.
  117. A new command, \fImhn\fP, 
  118. has been provided to support \fBMIME\fP and
  119. a detailed man page is provided in \fImhn\fP\|(1).
  120. .SH
  121. Documentation
  122. .LP
  123. The documentation has some general improvements, and
  124. the \fBREAD-ME\fP document has been re-organized
  125. to help \fIMH\fP administrators find the appropriate
  126. configuration options for their system.
  127. The \fBMakefile\fPs in the \fBpapers/\fP hierarchy have
  128. been changed to invoke \fITeX\fP as
  129. \*(lqtex\*(rq (instead of \*(lqtex82\*(rq).
  130. .LP
  131. The following new man pages are also available:
  132. .IP \fImhn\fP\|(1) \w'\fIpopauth\fP\|(8)'u+2n
  133. \fImhn\fP helps the user process multi-media mail.
  134. .IP \fImhparam\fP\|(1)
  135. \fImhparam\fP lets the user extract information from 
  136. the \fIMH\fP profile.
  137. .IP \fIpopauth\fP\|(8)
  138. the APOP database administration program (see below).
  139. .IP \fIpopi\fP\|(1)
  140. the POP initiator (see below).
  141. .IP \fIslocal\fP\|(1)
  142. fully documents \fIslocal\fP.  The \fImhook\fP(1) man page now
  143. documents only the \fIMH\fP receive-mail hooks.
  144. .SH
  145. Internal Changes
  146. .LP
  147. The \fIMH\fP source code is in the process of being
  148. cleaned up to make pedantic ANSI C compilers happy.
  149. Occurrences of \*(lqNULL\*(rq have been replaced by
  150. \*(lq0\*(rq where appropriate.
  151. Extra tokens after \*(lq#else\*(rq and \*(lq#endif\*(rq
  152. have been put inside comments (this is still in progress).
  153. The code should now compile cleanly on many more systems,
  154. specifically, more variants of SVR4.
  155. .PP
  156. The version of \fBtws/dtimep.c\fP which was included in 
  157. MH 6.7.2 was incompatible with the \fIlex\fP library
  158. on some systems, and has been removed.
  159. .PP
  160. A bug in the handling of blind lists inside alias
  161. files has been fixed.
  162. .KS
  163. .SH
  164. Post Office Protocol
  165. .LP
  166. There were three new options added to the POP.
  167. .IP APOP \w'APOP'u+2n
  168. This option indicates that the POP daemon will
  169. support the non-standard \fBAPOP\fP command which
  170. provides a challenge-based authentication system using
  171. the \fBMD5\fP message digest algorithm.
  172. .IP
  173. This option also causes the
  174. \fIpopauth\fP program to be installed, which
  175. allows the administrator to manipulate the \fBAPOP\fP
  176. authorization database.
  177. .KE
  178. .IP KPOP
  179. Support for KERBEROS with POP.
  180. This code builds
  181. \fIpopd\fP, \fIinc\fP and \fImsgchk\fP to support only the 
  182. \*(lqkpop\*(rq protocol.
  183. This code is still expiremental, but is available for 
  184. those sites wishing to test it.
  185. .IP MPOP
  186. This option indicates that the POP daemon will
  187. support the non-standard
  188. \fBXTND SCAN\fP command which provides performance
  189. enhancements when using the POP over low-speed connections.
  190. .IP
  191. This option also causes an interactive POP
  192. client program, \fIpopi\fP, to be compiled and installed.
  193. A man page for the \fIpopi\fP program is also provided.
  194. This option requires the configuration to
  195. have \*(lqbboards: pop\*(rq.
  196. .LP
  197. The APOP and MPOP non-standard POP
  198. facilities are documented in
  199. \fIThe Internet Message\fR (ISBN 0\-13\-092941\-7),
  200. a book by Marshall T. Rose.
  201. For more details, see \fBsupport/pop/pop-more.txt\fR
  202. and the \fIAdministrator's Guide\fP.
  203. The APOP option peacefully co-exists with the standard POP,
  204. KPOP completely replaces the standard POP, and
  205. MPOP requires \*(lqbboards: pop\*(rq.
  206. .SH
  207. File Locking
  208. .LP
  209. The file locking code has been cleaned up to support
  210. three kinds of kernel-level file locking.  As appropriate
  211. for your system, include the
  212. LOCKF, FCNTL or FLOCK option.  For more
  213. details, see \fImh-tailor\fP\|(5).
  214. .SH
  215. .KS
  216. Configuration Directives
  217. .LP
  218. A number of new configuration directives have been added
  219. or changed.  The full details are given in the \fBREAD-ME\fP.
  220. .IP cp: \w'MAILGROUP'u+2n
  221. The command used to install new files if not \*(lqcp\*(rq.
  222. .IP ln:
  223. The command used to link files together in the source tree
  224. if not \*(lqln\*(rq.
  225. .IP mts:
  226. Full support for ZMAILER has been added.
  227. .IP popdir:
  228. The directory where \fIpopd\fP will be installed if not \fB/usr/etc\fP.
  229. .IP regtest:
  230. Set to \*(lqon\*(rq to prevent the hostname and compile
  231. date from being included in \fIMH\fP binaries.
  232. .IP sharedlib:
  233. You may now specify \*(lqsun4\*(rq or \*(lqsys5\*(rq 
  234. (for SVR4) shared libraries.
  235. .IP signal:
  236. Specifies the base type of the function returned by \fIsignal\fP\|().
  237. This was previously defined with \*(lqoptions TYPESIG\*(rq.
  238. .KE
  239. .LP
  240. Several `-D' options to \fIcc\fP have been added or changed:
  241. .IP APOP \w'MAILGROUP'u+2n
  242. Authenticated POP (see above).
  243. .IP AUX 
  244. Support for A/UX systems.
  245. .IP DBMPWD
  246. The DBM option has been renamed DBMPWD.
  247. .IP HESIOD
  248. Support for the HESIOD name server.
  249. .IP KPOP
  250. KERBEROS POP (see above).
  251. .IP LOCALE
  252. Support for local characters sets; uses the \fIsetlocal\fP\|() function.
  253. .IP MAILGROUP
  254. Makes \fIinc\fP set-group-id.
  255. You may need this option if your \fB/usr/spool/mail\fP
  256. is not world-writeable.
  257. .IP MIME
  258. Multi-media mail.
  259. .IP MPOP
  260. Mobile POP (see above).
  261. .IP MSGID
  262. Enables \fIslocal\fP to detect and surpress duplicate messages.
  263. .IP OSF1
  264. Support for DEC OSF1 systems.  May be incomplete.
  265. .IP RENAME
  266. Include this option if your system has a \fIrename\fP\|()
  267. system call.
  268. .IP SVR4
  269. Support for System 5 Release 4 or newer systems.
  270. .IP TYPESIG
  271. This option has been dropped.  See `signal' above.
  272. .IP UNISTD
  273. Include this option if your system has the include
  274. file \fB<unistd.h>\fP.
  275. .IP VSPRINTF
  276. Include this option if your system has the \fIvsprintf\fP\|()
  277. library routine; otherwise, \fI\(rudoprnt\fP\|() will be used.
  278. .IP YEARMOD
  279. Forces the \fImh-format\fP `year' function to
  280. return 2-digit values.
  281. Use this option during a brief transition period if 
  282. you have local \fImh-format\fP files which need to
  283. be converted to support 4-digit years.
  284. .SH 
  285. FUNCTIONAL CHANGES
  286. .LP
  287. In addition to the configuration changes mentioned above,
  288. a number of functional changes have been made to the system.
  289. Many programs have new features added and a few new 
  290. programs have are provided.  
  291. Each command's manual page gives
  292. complete information about the its operation.
  293. Here is a short summary of the changes.
  294. .SH
  295. MH Sequences
  296. .LP
  297. A larger number of user-defined sequences are available.
  298. Previously, this number had been 10.
  299. On 32-bit systems, 26 user-defined sequences are available.
  300. .SH
  301. Profile Components
  302. .LP
  303. \fIMH\fP programs will now complain if the 
  304. \fB\&.mh\(ruprofile\fR does not end in a newline.
  305. Also, one enhancement and one new profile component are provided:
  306. .IP Aliasfile: \w'AliasfileX'u+2n
  307. Multiple filenames may now be given.
  308. .IP Inbox:
  309. New; the default folder (for \fIinc\fP, etc.) if not \*(lqinbox\*(rq.
  310. .KS
  311. .SH
  312. Format Strings
  313. .LP
  314. A few minor bugs were fixed in format string handling,
  315. and a few new features were added.  See \fImh-format\fP\|(5)
  316. for complete details.
  317. .IP Addresses \w'Xxyearxdatexx'u+2n
  318. An attempt is made to decipher X\&.400 RFC\ 987-style addresses.
  319. .IP Comments
  320. Comments may be added to \fImh-format\fP files; a comment
  321. begins with the 2-character sequence \*(lq%;\*(rq,
  322. and ends with an un-escaped newline.
  323. .IP "%(modulo n)"
  324. The `modulo' function escape has been added.
  325. .IP %(year{date})
  326. The date parser has been enhanced to understand more
  327. illegal date formats; `year' now returns a 4-digit number.
  328. .KE
  329. .SH
  330. User Interface Programs
  331. .LP
  332. A number of \fIMH\fP commands have minor changes:
  333. .IP ali \w'packmbox'u+2n
  334. The output with `\-user\0\-list' was
  335. changed to match the output with `\-nouser\0\-list'.
  336. .IP burst
  337. Will no longer drop the last message of a digest.
  338. .IP inc
  339. Accepts the `\-apop' switch for authenticated POP (see above);
  340. will attempt to detect write
  341. errors (e.g., no space left on device) when incorporating mail;
  342. no longer replaces newline characters with NULLs.
  343. .IP folder
  344. The `\-noprint' option was broken and has been dropped.
  345. .IP forw
  346. Supports `\-mime' to use MIME-style multi-part messages.
  347. .IP mhl
  348. Will no longer put an extra space at the end of the
  349. `%{text}' in a formatfield.
  350. .IP mhn
  351. New; manipulates multi-media (MIME) messages; a detailed
  352. man page is provided.
  353. .IP mhparam
  354. New; reads the \fIMH\fP profile (and context) 
  355. and writes the values of the specified components on the
  356. standard output; useful in programmatic constructs.
  357. .IP msgchk
  358. Supports `\-apop' (see above).
  359. .IP packmbox
  360. New; packs an \fIMH\fP folder into a UUCP-style mailbox.
  361. .IP popi
  362. New; a client-side POP initiator; available only if you
  363. built \fIMH\fP with the MPOP option (see above).
  364. .IP refile
  365. A bug where the `rmmproc' did not remove all specified
  366. message files has been fixed.
  367. .IP scan
  368. The `\-file' option is fully supported and will no longer
  369. complain about empty folders.
  370. .IP send
  371. Supports `\-mime' and `\-split' to split large messages
  372. into multiple partial messages using MIME.
  373. .SH
  374. Support Programs
  375. .IP fmtdump \w'packmbox'u+2n
  376. Can now read a format file, or a format string given
  377. on the command line.
  378. .IP popauth
  379. New; manages the APOP authorization database (see above).
  380. .IP sendmail
  381. The \fIsendmail\fP replacement will be installed
  382. only if your `mts' setting uses the `/smtp' option.
  383. .IP slocal
  384. A new man page for \fIslocal\fP is available;
  385. the new `mbox' action is available to write a file
  386. in \fIpackf\fP format;
  387. a bug where extra `>' characters were written to MMDF-style
  388. maildrops has been fixed; 
  389. if compiled with the MSGID option, can detect and suppress
  390. reception of duplicate messages.
  391. .IP viamail
  392. New; bundles a directory (like \fIshar\fP\|) and
  393. sends it through multi-media mail.
  394.  
  395. .ds LH Changes for MH 6.7.2
  396. .bp
  397. .ds CF Feb 1, 1992
  398. .SH
  399. CHANGES FOR MH 6.7.2
  400. .LP
  401. The MH.6.7.2 patch release is a maintenance
  402. release.
  403. This is the
  404. current released version of \fIMH\fP as of February 1, 1992.
  405. .PP
  406. This release now supports the NCR Tower running SYS5R4.
  407. The WP changes installed in MH.6.7.0 have been removed.
  408. .SH 
  409. Shared Libraries
  410. .LP
  411. Support for SYS 5 shared libraries is in progress.
  412. .PP
  413. Support for Sun OS 4.0 shared libraries had been improved.
  414. The \fIMH\fP library has been modified to move initialized
  415. data into a data definition file.  The shared library will
  416. now consist of a \fBlibmh.so\fP and \fBlibmh.sa\fP file.
  417. The shared library version number will no longer track the
  418. \fIMH\fP patch release number, and its numbering begins with
  419. version `1.1' with this release.
  420. .SH
  421. Replacement SendMail
  422. .LP
  423. Since many standard system programs expect to post mail by 
  424. invoking \fB/usr/lib/sendmail\fP,
  425. a minimal replacement \fISendMail\fP is provided in 
  426. this release.  This replacement is meant to be installed
  427. on (e.g., diskless) client workstations which post mail
  428. using SMTP, and do not run a message transport system.
  429. It will call \fIpost\fP to post mail; be sure you have
  430. configured \fIMH\fP with the `/smtp' mts option.
  431. This sendmail replacement is installed in your 
  432. \fIMH\fP etc directory, and you should link 
  433. \fB/usr/lib/sendmail\fP
  434. to it.
  435. .KS
  436. .SH
  437. Format Strings
  438. .LP
  439. A manual page for the \fIfmtdump\fP format string disassembler
  440. is supplied, and some new format functions were added:
  441. .IP folder \w'%getenv'u+2n
  442. In \fIscan\fP, this component escape
  443. contains the name of the current folder.
  444. It is not defined for other \fIMH\fP commands.
  445. .IP getenv
  446. This function escape returns the value of an environment variable.
  447. .KE
  448. .PP
  449. There will be some additional changes in these routines in the
  450. next patch release.
  451. .KS
  452. .SH
  453. Other Bug Fixes and Enhancements
  454. .LP
  455. In addition to some other minor enhancements,
  456. some bugs were fixed which in general were not user\-visible:
  457. .IP "Blind lists" \w'datexparsing'u+2n
  458. Users may now specify RFC822 address groups in their
  459. alias files.  These groups are implemented by \fIMH\fP 
  460. as blind lists.
  461. .IP "date parsing"
  462. A number of sites have brain-damaged versions of \fBlex\fP.
  463. \fIMH\fP will now come with the date parser already run
  464. through lex.
  465. .IP mark
  466. A bug dealing with \fImark\fP and the sequence named `cur'
  467. is fixed.  This was previously a problem for mh-e users.
  468. .IP MH.doc
  469. The \fIMH\fP nroff version of the manual no longer contains
  470. teletype escape sequences.
  471. .IP scan
  472. Can now handle headers as long as 512 bytes.
  473. .IP Signals
  474. \fIMH\fP programs will no longer catch the \fBHUP\fP
  475. and \fBTERM\fP signals while waiting for a sub-process.
  476. This was causing hung processes when your terminal line was
  477. was dropped unexpectedly.
  478. .IP Signature
  479. If your signature is not defined, \fIMH\fP will 
  480. use the value of the gecos field of your \fB/etc/passwd\fP
  481. entry as your signature.
  482. .IP "version.sh"
  483. A bug in the \fBawk\fP script in \fBconfig/version.sh\fP 
  484. was fixed.
  485. .KE
  486. .ds LH Changes for MH 6.7.1a
  487. .bp
  488. .ds CF January 25, 1991
  489. .SH 
  490. CHANGES FOR MH 6.7.1a
  491. .LP
  492. The MH.6.7.1a patch was made available 
  493. on January 25, 1991 for limited distribution only.
  494. (This release had some known bugs, and so was
  495. not widely distributed.)
  496. This release incorporates several new features
  497. of particular note to users of sequences and format strings,
  498. as well as some general documentation improvements.
  499. There are a few minor enhancements and internal bug fixes also.
  500. Complete documentation of these changes is given in
  501. the individual manual pages, and the \fBREAD-ME\fP file.
  502. .SH
  503. Message Sequences
  504. .LP
  505. A new manual page, \fImh\-sequence\0\fP(5), has been added.
  506. This manual page attempts to completely document the
  507. syntax and semantics of \fIMH\fP message sequence specifications.
  508. .PP
  509. A powerful new feature is the ability to specify message
  510. ranges with user-defined sequences.  The  specification
  511. \*(lqname:n\*(rq may be used, and it designates up to the
  512. first `n' messages (or  last  `n' messages  for  `-n')
  513. which  are  elements  of the user-defined sequence `name'.
  514. .PP
  515. The message
  516. specifications \*(lqname:next\*(rq and \*(lqname:prev\*(rq
  517. may also be used, and they
  518. designate the
  519. next or previous message (relative to the current message)
  520. which is an element of the user-defined sequence `name'.
  521. The specifications
  522. \*(lqname:first\*(rq and \*(lqname:last\*(rq are equivalent
  523. to \*(lqname:1\*(rq and \*(lqname:\-1\*(rq, respectively.
  524. The specification \*(lqname:cur\*(rq is not allowed
  525. (use just \*(lqcur\*(rq instead).
  526. .PP
  527. These specifications allow the user to step through
  528. a sequence with a command like \*(lqshow name:next\*(rq.
  529. .SH
  530. Format Strings
  531. .LP
  532. \fIMH\fP format strings now support an if-then-elseif-else
  533. clause (the `elseif' is new).  This will make
  534. format strings with multi-case conditions somewhat less complex.
  535. .PP
  536. A new format function `addr' had been added.  This function
  537. takes an address header name as its argument, and returns
  538. a rendering of the address contained in that header
  539. as \*(lquser@host\*(rq or \*(lqhost!user\*(rq.
  540. .PP
  541. Format widths now may be specified as a negative number.
  542. This causes the output to be right-justified
  543. within the format width.
  544. .KS
  545. .SH
  546. Other Changes
  547. .LP
  548. Along with a few minor enhancements,
  549. some bugs were fixed which in general were not user-visible:
  550. .IP "fmtdump" \w'whatnow'u+2n
  551. This new program 
  552. produces an pseudo-language
  553. representation of an \fIMH\fP format file, vaguely
  554. reminiscent of assembly language.  While this output format
  555. is not explicitly documented,
  556. it can still be useful when debugging \fIMH\fP format files.
  557. .IP "refile"
  558. Now takes a `\-\[no\]rmmproc' switch.  This makes it
  559. easier to avoid loops when your \*(lqrmmproc\*(rq calls \fIrefile\fP.
  560. .IP "slocal"
  561. A problem with the UUCP-style mailboxes,
  562. the `RPATHS' configuration option,
  563. and the \*(lqReturn-Path:\*(rq header was fixed.
  564. .IP "sortm"
  565. Will ensure that no messages are lost if it is interrupted.
  566. .IP "whatnow"
  567. Will now tell you where it is leaving the draft, when
  568. interrupted in the initial edit.  Previously the draft 
  569. was simply unlinked.
  570. .KE
  571. .KS
  572. .SH
  573. Compilation Options
  574. .IP "LOCKF" \w'whatnow'u+2n
  575. This option causes \fIMH\fP to use the \fBlockf()\fP
  576. system call for locking (if available),
  577. instead of \fBflock()\fP.
  578. .KE
  579. .ds LH Changes for MH 6.7.1
  580. .bp
  581. .ds CF December 14, 1990
  582. .SH 
  583. CHANGES FOR MH 6.7.1
  584. .LP
  585. The MH.6.7.1 patch release is a maintenance
  586. release, and as such, provides few changes from 
  587. the previous release.  This is the
  588. current released version of \fIMH\fP as of December 14, 1990.
  589. .SH
  590. User-Visible Changes
  591. .LP
  592. The major change in this release is to the
  593. POP daemon (popd).  In \fIMH\fP 6.7,
  594. it was changed to be able to read both UUCP and
  595. MMDF-style mailboxes.  This did not work as reported.  The
  596. code has now been changed to parse MMDF-style mailboxes if
  597. you are configuring MH to run with MMDF as your message
  598. transport system.  Otherwise, UUCP-style mailboxes are
  599. expected.
  600. .PP
  601. Since there are number of client programs available for
  602. only the POP2 protocol instead of POP3, popd has been
  603. updated to support both protocols.  This is a major
  604. win.  If you are compiling
  605. with POP turned on, add the `POP2' option to
  606. your \fIMH\fP config file, and the POP daemon
  607. will respond to POP2 or POP3 commands.  If you're using
  608. POP, there's no reason not to include this option; it does
  609. not affect the existing support for POP3.
  610. .KS
  611. .SH
  612. Internal Changes
  613. .LP
  614. Some bugs were fixed which in general were not user-visible:
  615. .IP "context" \w'replnnetcn'u+2n
  616. Errors when writing out sequences are detected correctly.
  617. .IP "inc"
  618. No longer inserts extra blank lines into messages.
  619. .IP "mh-format"
  620. A nil pointer bug in the address parser was fixed.
  621. .IP "repl, etc."
  622. The malloc/free problem has been fixed.
  623. .IP "rmf"
  624. A spelling error in the `\-nointeractive' switch has been corrected.
  625. .IP "rcvtty"
  626. Will not print the message size if not available (i.e., zero).
  627. .IP "send/post"
  628. Illegal signatures (those containing unquoted "."s) will be quoted.
  629. .KE
  630. .ds LH Changes for MH 6.7.0
  631. .bp
  632. .ds CF April 12, 1990
  633. .SH
  634. GENERAL CHANGES FOR MH 6.7.0
  635. .LP
  636. The author is pleased to announce that there are very few
  637. user\-visible
  638. changes to \fIMH\fP 6.7 from the previous \fIMH\fP 6.6 distribution.
  639. The majority of development was in the form of bug fixes and
  640. slight enhancements.
  641. In addition, this release is slightly faster than the
  642. previous release.
  643. With a few minor exceptions,
  644. it is backward\-compatible with the previous release.
  645. \fIMH\fP 6.7.0 is the current released version of \fIMH\fP
  646. as of April 12, 1990.
  647. .PP
  648. The changes were made mainly to generalize the source code to
  649. be compatible with a larger range of systems and compilers.
  650. There were many small changes to add declarations for ANSI C compliance.
  651. The System 5 support has been brought up to SYS5 R3, and there is
  652. support for Sun OS 4.0.
  653. .SH
  654. User\-Visible Changes
  655. .LP
  656. Here a quick summary of the
  657. changes that were made which are not backward\-compatible with the
  658. previous release of \fIMH\fP:
  659. .IP repl \w'sortm'u+2n
  660. The `\-format' and `\-noformat' switches
  661. have not been functional since \fIMH\fP 5, and have been removed.
  662. Any users who have these switches in their \fB\&.mh\(ruprofile\fP,
  663. will have to remove them.
  664. .IP sortm
  665. Previously, in most cases \fIsortm\fP would fill\-in any
  666. gaps in the numbering of a folder, 
  667. by renumbering the messages starting with `1'.
  668. This will no longer occur; for this behavior,
  669. use \*(lqfolder \-pack\*(rq.
  670. .PP
  671. .SH
  672. Using Aliases
  673. .LP
  674. A new profile entry `Aliasfile:' has been added.  The
  675. \fIali\fP\^, \fIsend\fP\^, and \fIwhom\fP programs will look for
  676. this profile entry and treat it as they would an argument to
  677. `\-alias'.
  678. This should make it easier for novice \fIMH\fP users to begin
  679. using aliases.
  680. .PP
  681. .SH
  682. Reading Network News & BBoards
  683. .LP
  684. The UCI BBoards facility can read local BBoards, and if compiled
  685. with the `bboards: pop' and `pop: on' options, can also read remote
  686. BBoards using the Post Office Protocol (POP ver. 3).
  687. With this release,
  688. \fIMH\fP can instead be compiled to read the Network News
  689. (i.e., USENET) using the Network News Transfer Protocol (NNTP).
  690. .PP
  691. This capability is enabled by compiling \fIMH\fP with
  692. the `bboards: nntp' and `pop: on' options.
  693. Unfortunately, reading remote BBoards via the POP and reading the Network
  694. News via the NNTP are mutually exclusive options.
  695. .PP
  696. To support the NNTP,
  697. a new module, \fBuip/pshsbr.c\fP, is compiled and loaded into
  698. \fIbbc\fP and \fImsh\fP instead of \fBuip/popsbr.c\fP.
  699. The default BBoard is changed from \*(lqsystem\*(rq to \*(lqgeneral\*(rq
  700. for the NNTP.
  701. .PP
  702. When reading BBoards,
  703. \fIbbc\fP will first look for local BBoards, and then contact the
  704. NNTP server to read the Network News.  The location of the
  705. NNTP server should be specified with the `nntphost:'
  706. entry in the \fBmtstailor\fP file
  707. (see the \fIMH\fP Administrator's Guide for details),
  708. or may be specified on
  709. the command line with the `\-host' switch.
  710. .PP
  711. .SH
  712. Format Strings
  713. .LP
  714. The manual page \fImh\-format\fP\0(5) has
  715. been rewritten to give a better explanation of how to write format strings,
  716. and how they are interpreted by \fIMH\fP.
  717. A line\-by\-line
  718. description of the 
  719. default \fIrepl\fP form file (\fBreplcomps\fP)
  720. is now included in that manual page.
  721. .PP
  722. .KS
  723. Some new format functions were added, and others were augmented:
  724. .IP trim \w'date2local'u+2n
  725. Strips any leading and trailing white\-space from the current string value.
  726. .IP date2local
  727. Will coerce the date to the local timezone.
  728. .IP date2gmt
  729. Will coerce the date to GMT.
  730. .IP divide
  731. Divides the current numeric value by its argument.
  732. This could be useful for
  733. building \fIscan\fP format strings which print large
  734. message sizes in \*(lqKb\*(rq or \*(lqMb\*(rq.
  735. .IP friendly
  736. If the address field cannot be parsed,
  737. this function will return the text of the address header,
  738. instead of a null string.
  739. .IP szone
  740. A flag indicating whether the timezone was explicit
  741. in the date string.
  742. .KE
  743. .SH
  744. PROGRAM CHANGES
  745. .LP
  746. In addition to the general changes mentioned above,
  747. many programs have specific new features added,
  748. either by new switches or by expanded functionality.
  749. Each command's manual page gives complete information about
  750. its new options.  Here is a short summary.
  751. .SH
  752. User Interface Programs
  753. .IP anno \w'prompter'u+2n
  754. Accepts a `\-nodate' switch which inhibits the date annotation,
  755. leaving only the body annotation.
  756. .IP folder
  757. When invoked with the `\-pack' switch
  758. and the new `\-verbose' switch, \fIfolder\fP will
  759. give information about the actions taken to renumber the folder.
  760. .IP
  761. On most systems, \fIfolder\fP can now create any non\-existing
  762. parent folders of a new sub\-folder.
  763. .IP forw
  764. When making digests, \fIforw\fP\^
  765. will put the issue and volume numbers
  766. in addition to the digest list name, in the digest trailer.
  767. .IP inc
  768. Detects NFS write failures, and will
  769. not zero your maildrop in that event.
  770. .IP msh
  771. Supports a variant of the new \fIsortm\fP\^.
  772. .IP prompter
  773. Considers a period on a line by itself to signify end\-of\-file
  774. when the `\-doteof' switch is specified.
  775. .IP repl
  776. The `\-[no]format' switches
  777. have not been used since \fIMH\fP 5 and have been deleted. \fIrepl\fP
  778. will now find filter files in the \fIMH\fP library area.
  779. .IP scan
  780. With the `\-file msgbox' switch, \fIscan\fP\^
  781. can list a \fIpackf\fP\|'d\-format file directly
  782. (without using \fImsh\fP\^).
  783. .IP
  784. Lists messages in reverse order with the `\-reverse' switch.
  785. This should be considered a bug.
  786. .IP sortm
  787. Now has the options:
  788. `\-textfield field', `\-notextfield',
  789. `\-limit days', and `\-nolimit'.
  790. .IP
  791. With these options, \fIsortm\fP can be instructed to sort a
  792. folder based on the contents of an arbitrary header such
  793. as \*(lqsubject\*(rq.
  794. .IP
  795. \fIsortm\fP minimizes renaming messages, and
  796. will no longer arbitrarily pack folders; for this behavior,
  797. use \*(lqfolder \-pack\*(rq.
  798. .IP whatnow
  799. Deletes the draft by renaming it with leading comma, instead
  800. of unlinking it.
  801. .SH
  802. \fIMH\fP Support Programs
  803. .LP
  804. .KS
  805. The following support programs also have changes or enhancements:
  806. .IP mhl \w'rcvtty'u+2n
  807. Will now accept a format string on any component, not just on
  808. addresses and dates.
  809. .KE
  810. .IP popd
  811. Will use \fIshadow\fP passwords if compiled with the
  812. \fBSHADOW\fP option.  It can now also
  813. read UUCP\-style maildrops directly.
  814. .IP rcvtty
  815. If given no arguments, \fIrcvtty\fP will produce a \fBscan\fP
  816. listing as specified by a format string or file; a default
  817. format string is used if one is not specified.
  818. .IP
  819. Before the listing is written to the users terminal, the
  820. terminal's bell is rung and a newline is output.
  821. The `\-nobell' and the `\-nonewline' options
  822. inhibit these functions.
  823. .IP
  824. \fIrcvtty\fP will obey terminal write
  825. notification set by \fImesg\fP.
  826. With the `\-biff' switch, \fIrcvtty\fP will
  827. also obey the mail notification status set by
  828. \fIbiff\fP.  
  829. .IP
  830. On \fBBSD43\fP systems, as with \fIwrite\fP,
  831. \fIrcvtty\fP will be installed set\-group\-id to the group \*(lqtty\*(rq.
  832. .IP slocal
  833. Understands UUCP\-style \*(lqFrom \*(rq lines and will write
  834. output files using this format if appropriate.
  835. Before invoking a delivery program, \fIslocal\fP will strip
  836. such lines unless compiled with the \fBRPATHS\fP option,
  837. in which case it will will convert such lines into
  838. \*(lqReturn\-Path:\*(rq headers.
  839. .IP
  840. \fIslocal\fP has a new result code \*(lqN\*(rq,
  841. for use in \fB.maildelivery\fP files.
  842. With this result code,
  843. \fIslocal\fP will
  844. perform the action only if the message has not been delivered
  845. and the previous action succeeded.  This allows for performing
  846. an action only if multiple conditions are true.
  847. .SH
  848. DOCUMENTATION
  849. .LP
  850. Several of the older \fIMH\fP papers have been difficult to format
  851. because they depended on an older version of
  852. PhDTeX which was
  853. not supplied.  These papers have been updated, and some TeX
  854. library files are supplied in \fBpapers/doclib/\fP, so that
  855. these papers may be generated on any system with TeX.
  856. .PP
  857. Many of the manual pages have been revised to include documentation
  858. of new command options, and some have been expanded to give more detail.
  859. All are now slightly reformatted at installation time
  860. to make them more compatible with programs like \fImakewhatis\fP\^.
  861. .PP
  862. .SH
  863. \fIMH\fP ADMINISTRATION
  864. .LP
  865. This section describes changes in configuring, compiling and
  866. installing \fIMH\fP 6.7 and should not
  867. be of interest to casual \fIMH\fP users.
  868. The \fBREAD\-ME\fP file has been 
  869. considerably revised and expanded to give more detail 
  870. about the configuration and compilation options which
  871. have been included in this release.  Some compilation options
  872. have been removed, and many new options have been added.
  873. .PP
  874. All \fIMH\fP \fBMakefile\fPs have been updated to work around some
  875. incompatibilities introduced in newer versions of \fImake\fP\^.
  876. \fIMH\fP programs will no longer be installed with the sticky\-bit
  877. turned on.
  878. .PP
  879. Reading this section not a substitute for carefully
  880. reading the \fBREAD\-ME\fP file before attempting to compile \fIMH\fP
  881. .PP
  882. .KS
  883. .SH
  884. Bug Fixes
  885. .LP
  886. Some bugs were fixed which in general were not user\-visible:
  887. .IP "address parser" \w'dynamicnmemory'u+2n
  888. Fixed to allow use of the \*(lqAT\*(rq domain, and some
  889. minor bugs were fixed pertaining to address groups.
  890. .IP "date parser"
  891. Improved to accept more forms of illegal dates.  Military
  892. timezones were removed.
  893. .IP "dynamic memory"
  894. Many problems with corruption of the dynamic memory pool
  895. have been fixed.
  896. .IP locking
  897. Will open files for write, if necessary to enable locking.
  898. .IP "nil pointers"
  899. All reported nil pointer problems have been fixed.
  900. .IP replcomps
  901. The \*(lqIn\-Reply\-To:\*(rq header had quotes added
  902. around the date field to comply with RFC822.
  903. .KE
  904. .SH
  905. White Pages
  906. .LP
  907. If \fIMH\fP is compiled with the \fBWP\fP option,
  908. \fIsend\fP recognizes an address between \*(lq<<\*(rq and \*(lq>>\*(rq characters
  909. such as:
  910. .DS
  911. To: << rose \-org psi >>
  912. .DE
  913. to be a name meaningful to a whitepages service.  In order to expand the
  914. name, \fIsend\fP must be invoked interactively
  915. (i.e., not from \fIpush\fP\^).  For each
  916. name, \fIsend\fP will invoke a command called \fIfred\fP\^
  917. in a special mode asking to expand the name.
  918. .PP
  919. To get a copy of the white pages service, contact wpp\-manager@psi.com.
  920. .SH
  921. Configuration Options
  922. .LP
  923. Some configuration options have been added or changed:
  924. .IP cc \w'bbdelivery'u+2n
  925. To specify an alternate C compiler.
  926. .IP ccoptions
  927. Defaults to `\-O'.
  928. .IP bboards
  929. May now be defined as \*(lqon\*(rq,
  930. \*(lqoff\*(rq, \*(lqpop\*(rq, or \*(lqnntp\*(rq.
  931. .IP bbdelivery
  932. Determines whether the bboard delivery agent
  933. and library files should be installed.
  934. .IP lex
  935. To specify an alternate version of \fIlex\fP\^.
  936. .IP mailgroup
  937. If defined, \fIinc\fP will be made set\-group\-id to this group.
  938. .IP sharedlib
  939. For \fBSUN40\fP systems; if \*(lqon\*(rq, makes \fBlibmh.a\fP
  940. into a shared library.
  941. .IP slibdir
  942. The directory where the above shared library should be installed.
  943. .IP sprintf
  944. Set this to \*(lqint\*(rq if that's what your \fIsprintf\fP\0(3) library
  945. routine returns.
  946. .SH
  947. Compilation Options
  948. .LP
  949. For different configurations,
  950. several `\-D' options to \fIcc\fP have been added or changed:
  951. .IP BERK \w'SENDMAILBUG'u+1n
  952. This disables the address and date parsing routines.  If you
  953. want to do much with \fImh\-format\fP\0(5), don't enable this.
  954. .IP BSD43
  955. Will make \fIrcvtty\fP set\-group\-id to the group \*(lqtty\*(rq.
  956. .IP DBM
  957. For sites with a dbm\-style password file (such as with Yellow
  958. Pages), \fIMH\fP will not read the entire passwd file into a cache.
  959. At one site that runs YP on a large passwd file, using this
  960. showed a 6:1 performance improvement.
  961. .IP NETWORK
  962. This option has been deleted.  See \fBSOCKETS\fP.
  963. .IP NOIOCTLH
  964. Tells \fIMH\fP not to include the file \fBsys/ioctl.h\fP.  Use this
  965. if this file is not present on your system.
  966. .IP NTOHLSWAP
  967. On systems with TCP/IP networking,
  968. \fImsh\fP will try to use the \fBntohl()\fP macro from the
  969. file \fBnetinet/in.h\fP to byte\-swap the binary map files
  970. it writes.
  971. .IP SENDMAILBUG
  972. Some versions of \fIsendmail\fP return a \fB451\fP (failure) reply code
  973. when they don't mean to indicate failure.  This option considers
  974. that code to be equivalent to \fB250\fP (OK).
  975. .IP SHADOW
  976. Causes \fIpopd\fP to read the file \fB/etc/shadow\fP for
  977. encrypted passwords instead of \fB/etc/passwd\fP.  Use this if you
  978. have a shadow password file (such as on newer versions of SYSTEM 5).
  979. .IP SOCKETS
  980. Enable this if you are on a non\-BSD system with a
  981. socket interface for TCP/IP networking compatible with 4.2BSD
  982. .SM
  983. UNIX.
  984. .NL
  985. .IP SUN40
  986. Use on Suns running Sun OS 4.0 and later.
  987. .IP SYS5
  988. This option has been updated to refer to SYS5 R3 and later systems.
  989. .IP SYS5DIR
  990. Use this if your system uses \*(lqstruct dirent\*(rq instead of
  991. \*(lqstruct direct\*(rq.  This should be true for systems based
  992. on SYS5 R3 and later.
  993. .IP TYPESIG
  994. Defines the base type for the \fIsignal\fP system call.  This
  995. defaults to \*(lqint\*(rq, but should be defined as \*(lqvoid\*(rq
  996. if appropriate for your system.
  997. .IP WP
  998. Enables support for the White Pages service.
  999. .SH
  1000. Installation
  1001. .LP
  1002. \fIMH\fP will now
  1003. explicitly set the protection mode on every file it installs.
  1004. .PP
  1005. Previously any existing file installed by \fIMH\fP
  1006. would be backed up into
  1007. the source tree, and then overwritten.
  1008. Now, a few system\-dependent files will not be overwritten, and your
  1009. changes will have to be merged in by hand.
  1010. See the \fBREAD\-ME\fP file for more details.
  1011.